package hust.music.service;

import java.util.List;

import hust.music.entity.Music;
import hust.music.entity.PlayList;
import hust.music.entity.User;
import hust.music.util.DynamicInfo;

/**
 * PlayListModService
 * 
 * @author Txazo
 * @since 1.0
 */
public interface PlayListModService {

	public PlayList getPlayList(Integer id);

	public int getTotalMusicCount(PlayList playList);

	public User getUser(PlayList playList);

	public List<DynamicInfo> getOtherPlayList(User user, PlayList playList);

	public List<Music> getMusic(PlayList playList);

	public List<DynamicInfo> getUserPlayList(User user);

	public boolean addPlayList(String title, String des, User user);

	public boolean addMusicToList(Integer listId, Integer musicId);

	public List<DynamicInfo> searchMusic(String title);

	public List<DynamicInfo> searchPlayList(String title);

	public List<DynamicInfo> findMusicByTime(int firstResult, int maxResult);

	public List<DynamicInfo> findMusicByListening(int firstResult, int maxResult);

	public List<DynamicInfo> findMusicByMark(int firstResult, int maxResult);

	public int findTotalMusic();

	public List<DynamicInfo> findMusicByLabel(String label, int firstResult,
			int maxResult);

	public int findTotalMusicByLabel(String label);;

}
